package com.deepwiki.domain.enums;

/**
 * 仓库分类类型枚举
 */
public enum ClassifyType {
    /**
     * 前端项目
     */
    FRONTEND("frontend", "前端项目"),

    /**
     * 后端项目
     */
    BACKEND("backend", "后端项目"),

    /**
     * 全栈项目
     */
    FULLSTACK("fullstack", "全栈项目"),

    /**
     * 移动应用
     */
    MOBILE("mobile", "移动应用"),

    /**
     * 桌面应用
     */
    DESKTOP("desktop", "桌面应用"),

    /**
     * 库/框架
     */
    LIBRARY("library", "库/框架"),

    /**
     * 工具类
     */
    TOOL("tool", "工具类"),

    /**
     * 游戏
     */
    GAME("game", "游戏"),

    /**
     * 其他
     */
    OTHER("other", "其他");

    private final String code;
    private final String description;

    ClassifyType(String code, String description) {
        this.code = code;
        this.description = description;
    }

    public String getCode() {
        return code;
    }

    public String getDescription() {
        return description;
    }

    public static ClassifyType fromCode(String code) {
        for (ClassifyType type : values()) {
            if (type.code.equals(code)) {
                return type;
            }
        }
        throw new IllegalArgumentException("Unknown classify type code: " + code);
    }

    @Override
    public String toString() {
        return description;
    }
} 